/*
 * login.java
 *
 *  LICENÇA CC-GNU LGPL
 * 
 * EXCLUSÃO DE GARANTIA 
1.COMO A BIBLIOTECA É LICENCIADA ELA TERÁ TOTAL GARANTIA DE SUPORTE TÉCNICO,
  MAS CASO O CÓDIGO-FONTE SOFRA ALTERAÇÕES, NÃO HAVERÁ NENHUMA GARANTIA PARA A 
  BIBLIOTECA, NO LIMITE PERMITIDO PELA LEI APLICÁVEL. EXCETO QUANDO DE OUTRA FORMA
  ESTABELECIDO POR ESCRITO, OS TITULARES DOS DIREITOS AUTORAIS E/OU OUTRAS PARTES 
  FORNECEM A BIBLIOTECA "NO ESTADO EM QUE SE ENCONTRA", SEM NENHUMA GARANTIA DE 
  QUALQUER TIPO, TANTO EXPRESSA COMO IMPLÍCITA, INCLUINDO, DENTRE OUTRAS, AS GARANTIAS
  IMPLÍCITAS DE COMERCIABILIDADE E ADEQUAÇÃO PARA UMA FINALIDADE ESPECÍFICA. 
  O RISCO INTEGRAL QUANTO À QUALIDADE E DESEMPENHO DA BIBLIOTECA É ASSUMIDO POR VOCÊ.
  CASO A BIBLIOTECA CONTENHA DEFEITOS, VOCÊ ARCARÁ COM OS CUSTOS DE TODOS OS SERVIÇOS,
  REPAROS OU CORREÇÕES NECESSÁRIAS. 

 2.EM NENHUMA CIRCUNSTÂNCIA, A MENOS QUE EXIGIDO PELA LEI APLICÁVEL OU ACORDADO POR 
   ESCRITO, QUALQUER TITULAR DE DIREITOS AUTORAIS OU QUALQUER OUTRA PARTE QUE POSSA 
   MODIFICAR E/OU REDISTRIBUIR A BIBLIOTECA, CONFORME PERMITIDO ACIMA, SERÁ RESPONSÁVEL 
   PARA COM VOCÊ POR DANOS, INCLUINDO ENTRE OUTROS QUAISQUER DANOS GERAIS, ESPECIAIS, 
   FORTUITOS OU EMERGENTES, ADVINDOS DO USO OU IMPOSSIBILIDADE DE USO DA BIBLIOTECA 
   (INCLUINDO, ENTRE OUTROS, PERDA DE DADOS, DADOS SENDO GERADOS DE FORMA IMPRECISA, 
   PERDAS SOFRIDAS POR VOCÊ OU TERCEIROS OU A IMPOSSIBILIDADE DA BIBLIOTECA DE OPERAR 
   COM QUALQUER OUTRO SOFTWARE), MESMO QUE ESSE TITULAR, OU OUTRA PARTE, TENHA SIDO 
   AVISADO SOBRE A POSSIBILIDADE DESSES DANOS.
 * 
 * Created on 20 de Janeiro de 2009, 09:33
 */

package cadastros;

import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import principal.tela_principal;
import utilitarios.conexao;

/**
 *
 * @author  Shinigami
 */
public class login extends javax.swing.JFrame {
conexao  con_login;
String seta_look = "com.birosoft.liquid.LiquidLookAndFeel";
    /** Creates new form login */
    public login() {
        initComponents();
        con_login = new conexao();
        con_login.conecta();
        lookandfeel();

    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        bt_entrar = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        tf_nome = tf_nome = new JTextField();
        tf_nome.setDocument( new PlainDocument()  
            {  
                @Override  
                public void insertString( int offs, String str, AttributeSet a )  
                throws BadLocationException  
                {  
                    super.insertString( offs, str.toUpperCase(), a );  
                }  
            } );  ;
            tf_senha = tf_senha = new JPasswordField();
            tf_senha.setDocument( new PlainDocument()  
                {  
                    @Override  
                    public void insertString( int offs, String str, AttributeSet a )  
                    throws BadLocationException  
                    {  
                        super.insertString( offs, str.toUpperCase(), a );  
                    }  
                } );  ;
                jLabel3 = new javax.swing.JLabel();

                setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
                setForeground(java.awt.Color.white);

                bt_entrar.setText("Entrar");
                bt_entrar.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        bt_entrarActionPerformed(evt);
                    }
                });

                jLabel1.setText("Nome:");

                jLabel2.setText("Senha:");

                tf_nome.setNextFocusableComponent(tf_senha);
                tf_nome.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        tf_nomeActionPerformed(evt);
                    }
                });

                tf_senha.setNextFocusableComponent(bt_entrar);
                tf_senha.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        tf_senhaActionPerformed(evt);
                    }
                });

                jLabel3.setFont(new java.awt.Font("Tahoma", 1, 24));
                jLabel3.setText("Login do Sistema");

                javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                getContentPane().setLayout(layout);
                layout.setHorizontalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGap(59, 59, 59)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addComponent(jLabel2))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tf_senha, javax.swing.GroupLayout.DEFAULT_SIZE, 114, Short.MAX_VALUE)
                            .addComponent(tf_nome, javax.swing.GroupLayout.DEFAULT_SIZE, 114, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addComponent(bt_entrar)
                        .addGap(53, 53, 53))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(72, 72, 72)
                        .addComponent(jLabel3)
                        .addContainerGap(82, Short.MAX_VALUE))
                );
                layout.setVerticalGroup(
                    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel3)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(35, 35, 35)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jLabel1)
                                    .addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jLabel2)
                                    .addComponent(tf_senha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(53, 53, 53)
                                .addComponent(bt_entrar)))
                        .addContainerGap(42, Short.MAX_VALUE))
                );

                java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
                setBounds((screenSize.width-367)/2, (screenSize.height-209)/2, 367, 209);
            }// </editor-fold>//GEN-END:initComponents

private void bt_entrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_entrarActionPerformed

    try
    {
     String sql = "select * from login where nome like '"+tf_nome.getText()+"'and senha like '"+tf_senha.getText()+"'";
            con_login.executasql(sql);
            con_login.resultset.first();
           
            
            if (tf_nome.getText().equals(con_login.resultset.getString("nome")) && tf_senha.getText().equals(con_login.resultset.getString("senha")))
            {
                 if (con_login.resultset.getString("acesso").equals("USUÁRIO"))
               {                    
                   JOptionPane.showMessageDialog(null, "Você não possui permissão para acessar este software!","Atenção",0);
                   tf_nome.setText("");
                   tf_senha.setText("");
                   tf_nome.requestFocus();
                   return; 
               }
                 else
               {
                
                      
                
                
                 if (con_login.resultset.getString("acesso").equals("ADMINISTRADOR"))
        {
                new tela_principal().setVisible(true);
                setVisible(false);
                tela_principal.lbusuario.setText(con_login.resultset.getString("nome"));
                tela_principal.lbnivel.setText(con_login.resultset.getString("acesso"));
                tela_principal.bt_user.setVisible(true);
                tela_principal.lbuser.setVisible(true);
                tela_principal.jm_user.setEnabled(true);  
                tela_principal.bt_helps.setVisible(true);
                tela_principal.lb_helps.setVisible(true);
                tela_principal.jm_helps.setEnabled(true);
                        
        
        }
               }  
             }
    }
            
   catch(SQLException erro)
        {
            JOptionPane.showMessageDialog(null,"Login ou Senha incorreta "+erro);
            tf_nome.setText("");
            tf_senha.setText("");
            tf_nome.requestFocus();
            
        }        
    
    
}//GEN-LAST:event_bt_entrarActionPerformed

private void tf_nomeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tf_nomeActionPerformed

    tf_senha.requestFocus();
}//GEN-LAST:event_tf_nomeActionPerformed

private void tf_senhaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tf_senhaActionPerformed

    bt_entrarActionPerformed(evt);
}//GEN-LAST:event_tf_senhaActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new login().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton bt_entrar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JTextField tf_nome;
    private javax.swing.JPasswordField tf_senha;
    // End of variables declaration//GEN-END:variables

     public void lookandfeel()
     
    {
             
         try
        {
            //UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
            //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
            //UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
            //UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
            UIManager.setLookAndFeel(seta_look);
            SwingUtilities.updateComponentTreeUI(this);
            
        }        
        catch(Exception erro)
        {
            JOptionPane.showMessageDialog(null,erro);
        
        } 
        }   
}
